#列表
list1 = [] #创建空列表
list2 = list()
list3 = [1, 2, 3, 4, 5]
print(list3)
for i in list3:
    print(i, end=' ')
#[1, 2, 3, 4, 5]
#1 2 3 4 5

print()
# 1
# 5
# [1, 2, 3]
# [3, 4, 5]
# [1, 3, 5]
print(list3[0])
print(list3[-1])
print(list3[:3])
print(list3[2:])
print(list3[::2])
print(list3[::-1]) # 倒序[5, 4, 3, 2, 1]


#插入元素
list3.append(6) #用于在列表末尾添加一个新元素，该方法需要接收一个参数，即要添加的新元素，元素的类型是任意的，
print(list3)
list3.insert(0, 0) #用于在列表中的指定位置插入一个新元素，被插入位置之后的元素会依次向后移动。
print(list3)
list3.extend([7, 8])  #extend()方法用于将另一个序列中的每个元素逐个添加到列表的末尾，实现对原列表的扩展。
print(list3)

list4 = [11,5,33,22,66,1,9]
#list4.sort()  sort()方法用于按特定顺序对列表中的所有元素进行排序,排序后的元素会覆盖列表原有的元素，不产生新列表，示例代码如下：
#print(list4)
#list4.sort(reverse=True)
#print(list4)
#list4.sort()
#list4.reverse()
# 用于控制列表元素排序的方式，该参数可以取值True或者False，取值为True表示降序排列，取值为False（默认值）表示升序排列。
# reverse()方法用于逆置列表，即把原列表中的元素从右至左依次排列存放
#print(list4)

#排序 不改变原列表
list4_new = sorted(list4)  #sorted()函数用于按升序排列列表元素，该函数的返回值是升序排列后的新列表
print(list4)
print(list4_new)

#删除元素
print(list3)
list3.pop()   #pop()方法用于删除列表中指定位置的元素，并返回被删除的元素
print(list3)
list3.pop(2) #2是下标
print(list3)
list3.remove(5) #remove()方法用于删除列表中的某个元素
print(list3)
#list3.clear()
#print(list3)



#修改元素
list3[0] = 100

#列表推导式
list5 = [i for i in list4 if i % 2 == 0]
print(list5)


#元组
tuple1 = tuple()
tuple2=tuple()
tuple3 = tuple([1,2,3,4,5])
print(tuple3)
for i in tuple3:
    print(i, end=' ')
print(tuple3[0])
print(tuple3[-1])
print(tuple3[1:4])
print(tuple3[:3])
print(tuple3[::2])


#集合
set1 = set([1,2,3,4,5,3,7,4,1])
print(set1)
set1.pop()
print(set1)
set1.remove(5)
print(set1)
set1.discard(2)
print(set1)
set1.clear()
print(set1)


#字典
dict0 = {}
dict1 = dict()
dict2 = {'name':'张三','age':18,'sex':'男'}
print(dict2)
print(dict2['name'])
print(dict2['age'])
print(dict2.get('id','没有相关数据'))
print(dict2.get('id2'))

dict2['id'] = 100#不存在添加
print(dict2)
dict2['id'] = 101#存在修改
print(dict2)
dict2.update({'id':102,'sex':'女'})
print(dict2)
dict2.update({'phone':'123456789'})
print(dict2)

dict2.pop('id')
print(dict2)
item = dict2.popitem()
print(item)
print(type(item))
print(dict2)
dict2.clear()
print(dict2)

list8 = [1,2,3]
list9 = [4,5,6]
print(list8+list9)

print("*"*10)
print(list8*3)

tuple4 = (1,2,3)
tuple5 = tuple4*3
print(tuple4*3)
print(tuple4+tuple4)

print(1 in list8)
print(111 in list8)
print(1 not in list8)
print(111 not in list8)